perm filename AM.REV[AM,DBL] blob sn#686406 filedate 1982-10-29 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	This is a response to [1], an article which points out many of
C00009 ENDMK
CāŠ—;
This is a response to [1], an article which points out many of
the good and bad points of AM [2] and the way in which AI research
is reported.  I am distressed at the necessity to respond for
two reasons: at face value, I am of course uneasy about having
to defend my seven year old thesis program which, now that I go back
and look over its code, sends shivers down my spine.
More deeply, I am disturbed because I strongly agree with the
moral of [1], and just wish its authors had used a program
other than mine to dissect.  I must answer at three levels, therefore:
the minutae of questions and problems and uncertainties they 
catalogue; the five high-level problems they list in Section 5.1;
their top-level plea for more scientific research reporting standards.
In brief, I shall set to rest most (but not all) of the tiny
quibbles and questions, most (but not all) of their higher level
issues, and not at all tackle their top-level concern.

1. Point-by-point discussion

All of pp. 8-13 of [1] is exactly right: there was some sloppiness
in [2] here, but their own ability to puzzle out the correct
answers in each case seems to me to be an argument that [2]
wasn't TOO sloppy.  In each case, their guess is precisely accurate:
Their first question was how
Suggest rules were handled at the Lisp level: they were kept
isolated in one big list and, when the Priority of the top
task on the agenda fell below a (slowly-varying) threshhold,
ALL the Suggest rules were run, to yield some new tasks.
The location of these rules changed from month to month,
originally they were subfacets, then facets, then just a
separate top-level list.  [1] is also correct in its observation
that all the "Interest rules" should have been stored as
"Worth.Fillin rules"; this was not done in the Lisp implementation
of AM, but readily could, and should have been; I wish I had thought of it.
[1] points out some of the sloppy section headings in Appendix 3,
and correctly identifies that, e.g., the "Coalesce.Fillin"
rules were actually stored as "Coalesce.Examples.Fillin" at
the Lisp level.  
P 15-16: How can a rule have a conjunct of the form "After trying to..."?
After the rules are gathered, they are executed in order, and
then executed a second time.  A detailed trace is kept of the current
task and work toward it, enabling rules to saay things like
"... and no other rule has found any,..."  Their surmise about
my omitting the first conjuncts in Appendix 3 is of course
correct; that was done to avoid repeating the subsection
heading in all 242 rules.
p. 16-17: H&R have misunderstood what I meant by rules being
blened together at the Lisp level.  Often, there might be 3
rules for producing examples of X, that worked together,
and that were coded together as one moderately large lump
of code.  In Appendix 3 I might still present this as 3 separate
rules.  In this sense, AM had about 150 rules, rather than 243,
but some of those 150 rules were very big.  As a result of AM,
and some cotemporal research such as MYCIN, we have a much better
understanding of why it's desirable to keep rules seaprated out
even at the code level.  The control structure in AM was as
reported in [2]; it was some of the rules that were complicated,
not the control code.
p. 19: the "obscurities" cited are indeed at the heart of why and
how AM worked.  They deal with automatic programming, specifically
code synthesis.  AM was begun as an Automatic Programming thesis,
and my PhD adviser was Cordell Green.  A fundamental source of
power in AM is at this low level: the synthesis and empirical testing
of tiny Lisp programs.  The interested reader is referred to
the papers I wrote explaining this processi, e.g. [Lenat 75, 75b].
When I used the term "hack", I referred to a piece of
Interlisp-dependent knowledge about code synthesis, NOT
code which was in any way specific to math or to AM's behavior.
This has proven to be an unfortunate choice of term.

p. 21. The "comment on rule 144" is actually what one AM rule is all
about: focus of attention maintenance.  The other cited
rules are all coded as specific revisions of values of facets
of concepts.  Again, it is the RULES that have not been
adequately detailed, not the control mechanism.